package com.ruoyi.fun.service;

import java.util.List;
import com.ruoyi.fun.domain.SysDeploymentLog;

/**
 * 部署记录Service接口
 * 
 * @author Dreamyy
 * @date 2025-09-10
 */
public interface ISysDeploymentLogService 
{
    /**
     * 查询部署记录
     * 
     * @param id 部署记录主键
     * @return 部署记录
     */
    public SysDeploymentLog selectSysDeploymentLogById(Long id);

    /**
     * 查询部署记录列表
     * 
     * @param sysDeploymentLog 部署记录
     * @return 部署记录集合
     */
    public List<SysDeploymentLog> selectSysDeploymentLogList(SysDeploymentLog sysDeploymentLog);

    /**
     * 新增部署记录
     * 
     * @param sysDeploymentLog 部署记录
     * @return 结果
     */
    public int insertSysDeploymentLog(SysDeploymentLog sysDeploymentLog);

    /**
     * 修改部署记录
     * 
     * @param sysDeploymentLog 部署记录
     * @return 结果
     */
    public int updateSysDeploymentLog(SysDeploymentLog sysDeploymentLog);

    /**
     * 批量删除部署记录
     * 
     * @param ids 需要删除的部署记录主键集合
     * @return 结果
     */
    public int deleteSysDeploymentLogByIds(Long[] ids);

    /**
     * 删除部署记录信息
     * 
     * @param id 部署记录主键
     * @return 结果
     */
    public int deleteSysDeploymentLogById(Long id);

    /**
     * 部署完成回调，更新部署状态为已完成
     * 
     * @param id 部署记录主键
     * @return 结果
     */
    public int completeDeployment(Long id);

    /**
     * 部署失败回调，更新部署状态为失败并记录错误信息
     * 
     * @param id 部署记录主键
     * @param errorMessage 错误信息
     * @return 结果
     */
    public int failDeployment(Long id, String errorMessage);
}
